fileName
System.String containing the name of the JPEG 2000 file from which the frames are being extracted.
frames
Frame indices. A list of integers specifying the indices of the frames to be extracted from the input file. All indices should be 0-based.
A byte array that contains a JPEG 2000 file with only the extracted frames.
. This file contains only the extracted frame headers/code streams (not any obtained through the decompressing/recompressing process) so it saves processor time and memory.
This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file. Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Jpeg2000;
public byte[] ExtractFramesMemoryStringExample(List<int> frames)
{
Jpeg2000Engine engine = new Jpeg2000Engine();
Jpeg2000FileInformation fileInfo = engine.GetFileInformation(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"));
for (int i = 0; i < frames.Count; i++)
if (frames[i] >= fileInfo.Frame.GetLength(0))
return null;
return engine.ExtractFramesMemory(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), frames);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}